#ifndef MESSAGE_H
#define MESSAGE_H
#include <QString>
#include"Args.h"

class Message
{
public:
    Message()
    {
    }
    ~Message()
    {
    }
    //virtual int s();
    virtual MessageType returnType()
    {
        return messages;
	}
   // virtual int getArgs()=0;
    virtual nodePath getSelectContainerNodePath()
    {
        nodePath tmp;
        return tmp;
    }
    virtual SelectObjectsArgs getSelectObjectsArgs()
    {
       SelectObjectsArgs tmp;
       return tmp;
    }
    virtual NewNodeArgs getNewNodeArgs()
    {
        NewNodeArgs tmp;
        return tmp;
    }
    virtual SetArgs getSetArgs()
    {
        SetArgs tmp;
        return tmp;
    }
    virtual nodePath getDeleteNodePath()
    {
        nodePath path;
        return path;
    }
    virtual NewProjectArgs getNewProjectArgs()
    {
        NewProjectArgs a;
        return a;
    }
    virtual QString getSavePath()
    {
        QString a;
        return a;
    }
    virtual QString getJsPath()
    {
        QString a;
        return a;
    }
	virtual OpenProjectArgs getOpenArgs()
	{
		OpenProjectArgs tmp;
		return tmp;
	}
	int getArgs()
	{
		return 2;
	}
	virtual SetStaticProperArgs getStaticSetArgs()
	{
		SetStaticProperArgs tmp;
		return tmp;
	}
	virtual NodeType getConvertType()
	{
		return movieClipNode;
	}
	virtual int returnDestLayerIndex()
	{
		return 0;
	}
	virtual AddPointArgs getAddPointArgs()
	{
		AddPointArgs a;
		return a;
	}
	virtual MovePointArgs getMovePointArgs()
	{
		MovePointArgs a;
		return a;
	}
	virtual int getDeletePointIndex()
	{
		return 0;
	}
	virtual ChangePointTypeArgs getChangePointTypeArgs()
	{
		ChangePointTypeArgs t;
		return t;
	}
	virtual SetGradientArgs getGradientArgs()
	{
		SetGradientArgs t;
		return t;
	}
};
class Index
{
public:
    int level;
    int order;
    Index(int l=0,int o=0):level(l),order(o)
    {
    }
    ~Index()
    {
    }

};

#endif // MESSAGE_H
